Tests: General Information


HostMonitor is a network-monitoring tool that allows you to keep a close eye on what is going on the network. Monitoring is done by performing periodic checks of the network resources that are to be watched. These checks, in the HostMonitor terminology, are called tests. It is the administrator's responsibility to identify exactly what needs to be checked, and create a set of tests that will be doing the job.

In order to be able to create a monitoring environment that suits your needs, does what you meant it to do and reacts to events adequately and predictably, you must have a good enough understand of:

  • Each test has a set of properties that can be divided into statical and dynamical properties. HostMonitor doesn't change statical properties; the user has to set them in the Test Properties dialog (e.g. Test Name, Comment, Related URL, list of Master tests, Test Interval, Schedule, Alert Profile, etc). When performing tests HostMonitor changes dynamical properties, such as: Status, Reply, Last Test Time, Recurrences, and all kinds of statistical information. User can't directly change dynamical properties, only can reset statistics for specified tests using a 'Reset' button in a Toolbar or menu item Test->Reset. Testing of specified tests can also be manually performed at any time (not waiting for the time interval) using a 'Refresh' button in a Toolbar or menu item Test->Refresh (or just select a set of tests and press 'Space' button). User can set a list of the test's properties to display by using Columns page in the Options dialog.

  • HostMonitor performs tests in intervals that are set individually for every test, or on scheduled time (day of the week, or month, see Schedule). Depending on the test result, HostMonitor assigns one of the available statuses to it ('Host is alive', 'No answer', 'Unknown', 'Unknown host', 'Ok', 'Bad', 'Bad contents'; there are also special statuses available: 'Not tested', 'Checking..', 'Disabled', 'Wait for Master', 'Out of schedule').

  • After finishing a test HostMonitor performs next steps:
    - update statistics (dynamical properties), such as Total time, Alive time, Dead time, Total tests, Passed tests, Failed tests, Average reply, etc;
    - if necessary HostMonitor will add information into a log file. You can find information about different log file types in Log&Reports section of this documentation;
    - if necessary the program will start actions defined in the action profile.

Note: To operate with a test or a group of tests user can use Toolbar, popup menu or a Test menu in a main window of the HostMonitor. List of available actions: Add test, Edit test(s), Remove test(s), Copy test(s), Enable/Disable test(s), Refresh test(s) status, Reset statistics, Show statistics, View private log, Trace, Telnet. For more information about user interface, please, refer to TestList&Windows section of this documentation.
 

Test Methods


A great variety of network services and resources can be watched over by the program. The following is a list of test methods available in HostMonitor:

Tests: Agent List


HostMonitor can perform tests by itself or it can use Remote Monitoring Agent for this purpose. RMA is a small application that accepts requests from HostMonitor, performs test and provides information about test result back to HostMonitor.
When you setup the properties of a test in Test Properties dialog you may select an agent from drop down list or click on a button (to the right of the field) to manage agent list.


How to do:


How to add new agent to the list

To add a record for a (new) agent click on "New" button or press Insert key in the list of agents. When the dialog "Agent Connection Parameters" appears set the following parameters for the agent:

  • Agent address:
    provide the host name or an IP address of the system where RMA is installed
  • Item name:
    name of the agent (this name will be displayed in agent's list, and will be used by HostMonitor for agent identification). By default an address of an agent will be used as name for it but you may specify any other name that you like
  • Port:
    TCP port that will be used for communication between HostMonitor and the agent. Here you should specify the same port that you have already specified when that agent was installed and configured on a remote system (by default agent uses port #1055)
  • Timeout:
    communication timeout in seconds. A maximum amount of time that HostMonitor will wait for an answer from the agent. Please note: this timeout should be big enough to allow an agent to perform a test before sending an answer to HostMonitor. When, for example, you are launching an external test and an external program needs 15 seconds to perform this test then the timeout should be set to 15 seconds plus an amount of time that is necessary for data exchange between HostMonitor and an agent.
  • Password:
    here you should provide the same password that you have specified when an agent was installed and configured on a remote system.

After you have finished entering the above information click "Test/Get info" button to check the settings of an agent or click "Ok" button to check the settings and close dialog. HostMonitor will try to establish connection with an agent and get information about agent: platform, version, comment, etc.
If connection with an agent was established, HostMonitor updates all agent information and sets status of the agent to "operable". If HostMonitor was not able to get proper information from an agent, it sets its` status to "no answer" (if no answer from agent received) or "bad answer" (if some error code was received from an agent, e.g. wrong password).


How to edit connection parameters for the agent

To change connection parameters for an agent, select it from the list and click "Params" button (or just double-click it). "Agent Connection Parameters" dialog will pop up, there you may setup connection parameters (agent address, port, timeout, password, etc) like it was already described in previous abstract ("How to add new agent to the list").


How to obtain information about agent(s)

When you create a new agent record in the list, HostMonitor tries to connect to a specified agent and gets information from it. But you can refresh/reload this information at any time. To retrieve information about single agent, select an agent and click "Get Info" button. To retrieve information about all agents from the list, just click "Get Info (All)" button. HostMonitor will then try to connect to each agent and gets the following information:

  • Agent: an internal name of an agent;
  • Platform: OS platform that this agent is designed for;
  • Version: the version number of the agent;
  • Developer: the company that created RMA software;
  • Comment: the content of a comment field that you or system administrator had provided when a remote agent was installed and configured.

If a connection with agent was established, HostMonitor updates all information and sets the status of an agent to "operable". If HostMonitor was not able to get information from an agent, it sets the status to "no answer" (if no answer from an agent was received) or "bad answer" (if some error code was received from an agent, e.g. wrong password).


RMA Manager
To manage an array of Remote Monitoring Agents you may use RMA Manager utility. It allows you to change settings for hundreds of agents that are installed on remote systems at one time and from one location. Also RMA Manager allows you to reload or terminate agents, force agents to reread settings from their ini files and even upgrade agent's code remotely.
Both RMA Manager and HostMonitor are using the same list of Remote Monitor Agents.

Tests: Common Properties


Test particulars are defined in the Test Properties dialog:

Most properties are common across all test methods. However, each method has a set of parameters that are specific to the test type. Let's have a look at the common properties first:

  • Test By
    Test can be performed by HostMonitor itself (by default) or by Remote Monitoring Agent. You may select an agent from drop down list or click on a button (to the right of the field) to manage agent list.

  • Test Name
    The name of the test; HostMonitor auto populates this field with a suggested name based on the type and other test parameters; you can change that name to whatever name you want.

  • Comment
    Any comments those make sense to you. You can specify one-line comment directly in the Test Properties dialog or press button to bring-up popup dialog for entering multi-line comments. In the status bar, in reports, and in the Test Detail Area HostMonitor will display only 1st comment line. However using macro variables (%TaskComment%, %CommentLine1%, %CommentLine2%, etc) you can access whole comment or any of its lines.

  • Related URL
    For each test, a related URL can be specified. By adding this property to the list of visible columns or to a report, you will make the related URLs appear in the test list view or report sheet. In HTML reports, URLs appear as hyperlinks. In the list view, tests with a related URL will have a popup menu item that launches the associated program (typically, your default Internet browser).

  • Enabled/Disabled
    Enables or disables test execution.

  • Schedule
    Specifies when to perform the test. You can choose between regular and irregular schedules.
    A regular schedule assumes the test will be fired off at fixed time intervals, for instance, every 10 minutes. In addition, a Schedule can be associated with a test to give you more control on your monitoring activities. For example, if you want to test your proxy server only from Monday to Friday, select the "Monday-Friday, 24 hours" schedule. You may select an existing schedule from a drop-down list or create any number of your own schedules. If you do not select a schedule, HostMonitor will always check the host.
    With an irregular schedule, tests are performed on a given day of week or month, at a given time. E.g. every Monday at 9:00 am; or on the 15th of every month at 3:00pm.

  • Alert profile
    Alerts are a highly flexible mechanism that allows you to implement different behaviors for different types of events and conditions. Choose one of the existing Alert Profiles or create a new one, designed specifically to suit your needs.
    You can design an alert profile, using different alert methods, such as a visual and sound warning; send an E-mail message to a mailbox, pager or mobile phone; execute an external program, restart service, reboot local or remote computer, dial-up to the network, send data to TCP/UDP port, execute SQL Query, and much more. For more information, please, refer to Actions section of this documentation.
    If you don't select an alert profile, HostMonitor will only write down a record to the log file (if the logging is enabled), and no other action is taken even if the status of the host changes.

  • Reverse alert
    When this option is selected, HostMonitor regards test results that are normally considered benign, as abnormal ones, and vice versa.
    This can be useful in some situations. For example, CPU Usage test returns an "Ok" status if the processor load ratio is below a predefined value. With the "Reverse alert" option turned on, the test will work the other way around, so the administrator will be alerted when the processor load is below a predefined value.

    Here is how the conversion works for different status values:
    Original status   Reverse status  
    Alive Bad
    Dead Ok
    Ok Bad
    Bad Ok
    BadContents Ok
    Other status values are not affected.

  • Treat Unknown status as Bad
    With this option enabled, if test results cannot be obtained, actions are triggered by HostMonitor the same way as if the test returned a "Bad" status.
    The option is not applicable to some of the test types. Please refer to the table below for the meaning of "Unknown" status for different test types:
    Test Option is applicable "Unknown" status condition
    Ping Yes Host name cannot be resolved into IP address
    Trace Yes Host name cannot be resolved into IP address
    URL No  
    HTTP Yes Host name cannot be resolved into IP address
    TCP Yes Host name cannot be resolved into IP address
    UDP Yes Host name cannot be resolved into IP address
    NTP Yes Host name cannot be resolved into IP address
    SMTP Yes Host name cannot be resolved into IP address
    POP3 Yes Host name cannot be resolved into IP address
    IMAP Yes Host name cannot be resolved into IP address
    DNS Yes Host name cannot be resolved into IP address
    LDAP Yes Host name cannot be resolved into IP address
    RADIUS Yes Host name cannot be resolved into IP address
    UNC Yes Resource is unavailable (option is applicable for free space check only)
    Drive Free Space Yes Disk drive information is unavailable (e. g., the drive is unmapped)
    Folder/File Size Yes File/folder doesn't exist
    Count Files Yes Folder doesn't exist
    Folder/File Availability No  
    File Integrity Yes File doesn't exist or read error
    Text Log Yes File doesn't exist or read error
    Compare Files Yes Target file(s) does not exist
    Process Yes Information (list of processes) cannot be retrieved
    Service Yes Connection to CS Manager cannot be established
    NT Events Log Yes Information cannot be retrieved
    CPU Usage Yes Information cannot be retrieved
    Database No  
    ODBC Query Yes SQL query fails, or the data field specified is not found in the result set
    SNMP Yes Information cannot be retrieved
    External test Yes HostMonitor cannot execute external program (program doesn't exist) or program doesn't return ERRORLEVEL within a specified time
    RAS Yes Connection was not established because of a problem on local system, e.g. modem is used by another application
    Performance Counter Yes Information cannot be retrieved
    Script Yes Script returns "Unknown" status, or an error occured during the script execution


    Log & Reports

  • Use common log
    If the "Use common log" option is selected, HostMonitors records test data in a single log file shared by all tests. Common Log settings located on Log Settings page in the Options dialog.
    Choose one of the following options to specify when information should be recorded:
    • Default - the common settings defined in the Options dialog are used;
    • Brief - record information whenever status of the test changes;
    • Full - record all test results, regardless of whether their status had changed or not;
    • Reply - record information into log every time the status or reply value of the test changes.
    For more information about different logging options, please, refer to Log&Reports section of this documentation.

  • Use private log
    Additionally, for each test you can define its own, dedicated log file by checking the "Use private log" option. The type of a private log is determined based on the file extension: HTML for .htm*, DBF for .dbf, plain text for any other extension.
    Private logs can be configured to work in one of the following modes:
    • Default - the common settings defined in the Options dialog are used;
    • Brief - record information whenever status of the test changes;
    • Full - record all test results, regardless of whether their status had changed or not;
    • Reply - record information into log every time the status or reply value of the test changes.
    If a private log is specified, the popup menu for that test will contain the item, "View private log". For more information about different logging options, please, refer to Log&Reports section of this documentation.

  • Exclude from reports
    These check boxes allow the user to exclude the test information from reports. For more information about the report customization, please, refer to Report Manager section of this documentation.

    Master/Dependent tests

  • This test depends on another test(s)
    For each test, you can define a list of other tests it depends on, or Master tests. For each Master test you can choose the condition to perform the dependent test based on the status of the Master test:
      - "Alive";
      - "Alive" or "Unknown";
      - "Dead";
      - "Dead" or "Unknown".
    As an example, consider a network configuration where the accessibility of the company's several web servers depends on the state of a single router. When the router is down, there is probably little sense in trying to do the dozens of tests designed to collect information on the web servers.
    That was, of course, a very simplified example. With this feature, you can implement quite sophisticated dependencies involving a number of master tests which, in turn, depend on other tests' results. For more information on dependencies, please, see the following options: "Syncronize counters", "Syncronize status & alerts", "Consider status of the master test obsolete after N seconds" (Options dialog).

  • This test depends on expression
    Instead of making test to be dependent on a list of Master tests you can define a condition to perform the test using some logical expression. In these expressions you can use:

    • numbers and strings (in quotes). Strings that contain a number plus one of the following unit specificators [ms, Kb, Mb, Gb, %] are compared as numbers, so that '900 Kb' is less than '9 Mb'
    • macro variables related to the current test or to any other test;
    • global macro variables;
    • logical operators [and, or, not, <, >, >=, <=, ==, <>];
    • arithmetic operators div, mod. The value of (x div y) is the value of x divided by y and then rounded in the direction of zero to the nearest integer; 'mod' operator returns the remainder obtained by dividing its operands (in other words, (x mod y) == x - (x div y) * y);
    • parentheses. In complex expressions, common rules of precedence determine the order in which operations are performed:
      Operators Precedence
      not first (highest)
      div, mod second
      <, >, >=, <=, ==, <> Third
      and, or fourth (lowest)
      An operator with higher precedence is evaluated before an operator with lower precedence, while operators of equal precedence associate to the left. You can use parentheses to override precedence rules. An expression within parentheses is evaluated first and then its result is treated as a single operand.
    This mode is more complicated than a standard list of Master tests but it is very flexible. Just several simple examples:
    • with expression ('%::Ping Router::SimpleStatus%'=="UP") and ('%::Ping Router::Reply%'<'800 ms') HostMonitor performs a test when the test named "Ping Router" has a good status and the reply time for the router is below 800 ms;

    • use expression like ('%::TestA::SimpleStatus%'=='UP') or ('%TestB:: SimpleStatus%'=='UP') to perform a test when either TestA or TestB has "good" status.

    OtherwiseStatus
    Sometimes HostMonitor may fail to parse logical expressions. For example when a variable has no value due to the failure to perform some other tests. In this case HostMonitor will not perform the dependant test. Instead it will set a special status for the current dependant test. The same happens when a logical expression returns "false" value (this means that a condition was not met). You may define this status in the "OtherwiseStatus" property of the test. You can provide the status name ('Host is alive', 'No answer', 'Unknown', 'Unknown host', 'Ok', 'Bad', or 'Bad contents') or specify a macro variable that describes the status of another test (e.g. %::Ping Router::Status%).
    For more information on dependencies, see the following options: "Syncronize counters", "Syncronize status & alerts", "Consider status of the master test obsolete after N seconds" (Options dialog).

  • Synchronize counters
    This option only applies to tests that have one or more master tests. When the option is turned off, and some test is not being launched because its launch condition has not been met, HostMonitors simply marks such a test with the "Wait for Master" status and does not change any counters. If, however, the option is turned on, HostMonitor will update statistics information accordingly to the Master test status. Thus, if a router on which other tests depend has been tested to a "No answer" status, HostMonitor will increment respective counters (like "Dead time", "Failed tests", etc) for router and for all dependent tests with the "Synchronize counters" option on.

  • Synchronize status & alerts
    This option is applicable only if "Synchronize counters" is also selected. When the option is turned on, besides synchronizing counters, the dependent test receives the status of the master test, which in turn will start action dispatching based on the status propagated from the master test.

    Example: On your corporate network you have 10 web servers and 1 router that is critical to the entire network. A router Ping test is set up to page the administrator if the router does not respond. So when the router goes down, and the "Synchronize status&alerts" option is turned off, HostMonitor sends a message to the administrator's pager and suspends all dependent tests. If "Synchronize status&alerts" is on, in addition to the router problem notification, actions defined on the dependent tests will be fired off as well.

  • Dependencies of this test
    This is a read-only list for information purpose. It displays tests that depend on the current test.

Test Methods


Listed below are the various test methods supported by HostMonitor, along with a description of their method-specific parameters

Ping


The ping command verifies connections to remote computers, routers and other network components by sending ICMP (Internet Control Message Protocol) echo packets to the remote component and listening for echo reply packets. It's best to use the Ping method to check a remote connection in general. To check specific services and conditions, HostMonitor provides a number of special test types.
In addition to the common test parameters the Ping test has the following options:

Address
Provide the domain name (e. g. www.yahoo.com) or IP address (e. g. 204.71.200.68) of the host that you wish to monitor.
Please note, a range of IP addresses (e.g. 123.123.123.1 - 123.123.123.254) rather than a single address can be specified. In this case, HostMonitor will create a separate test for each of the addresses within that range.

Timeout
Specify a timeout interval in milliseconds. If you set parameter to 0, HostMonitor will use value of the global Timeout parameter specified on Ping/Trace page in the Options dialog.

Packet size
Specify the size of echo packets. This parameter is optional. If it's value is 0 (default value), HostMonitor will use global Packet Size parameter specified on Ping/Trace page in the Options dialog.

Packets
Specify the number of echo packets. If you set parameter to 0, HostMonitor will use value of the global "Packet to send" parameter specified on Ping/Trace page in the Options dialog.

Time to Live
Time to Live parameter is common for all Ping tests, specify this parameters on Ping/Trace page in the Options dialog.

Status is bad when N (or more) % of packet lost
A packet loss threshold can be specified for a Ping test, based on which the test status is determined. That is, in HostMonitor version 1 a test was considered failed if no echo packets were received (100% loss). Now you can set the packet loss limit.

Display mode
Select 1 of 3 options that determine what information HostMonitor will display in the Reply field:

  • Reply time - the "Reply" field will represent average reply time
  • % of lost - display percentage of lost packets,
  • % of received - display percentage of received packets.
  • Trace


    Traces the route to a remote host over the network. This test allows you to check the route that all packets take to go from your machine to a specific host on the Internet (Intranel, LAN). It also can check the time each hop (or each machine packets go through) takes to answer.
    In addition to the common test parameters, the Trace test has the following options:

    Address
    This is the name or IP address of the host route that you want to test.

    Timeout
    Specify a timeout interval in milliseconds.

    Packet size
    Specify the size of ECHO packets in bytes.

    Retries
    Specify how many times HostMonitor will try to resend ECHO packets when it does not receive the respond.

    Alert when
    Choose one of the conditions to determine is route "good" or "bad":

  • route was changed
        HostMonitor will mark test as "Bad" every time route changed
  • number of hops different from NN
        Test will change status to "Bad" if number of hops is different from specified
  • number of hops greater than NN
        Test will change status to "Bad" if number of hops is greater than specified
  • number of hops less than NN
        Test will change status to "Bad" if number of hops is less than specified
  • maximum reply time more than NN milliseconds
        Mark test as "Bad" when reply time from any of the hosts is longer than specified
  • traffic thru the host
        HostMonitor will mark test as "Bad" every time traffic will go thru specified intermediate host
  • traffic bypass host
        HostMonitor will mark test as "Bad" every time traffic will not go thru specified intermediate host Display
    This option determines what information HostMonitor will display in Reply field. Choose one of the following options:
  • Total time
  • Average reply time
  • Maximum reply time
  • Number of hops
  • Number of non-responding devices
  • Route, brief mode (list of IP addresses only)
  • Route, full mode (hop, IP address, time)
  • URL


    HostMonitor can perform a URL (Universal Resource Locator) check based on the HTTP (web), HTTPS (secure web), FTP or Gopher protocols. To perform URL check HostMonitor can connect to a remote server directly or through a proxy server, this proxy server can be defined on the PROXY page in the Options dialog.
    In addition to the common test parameters, the URL test has the following options:

    URL
    Enter the URL you want to monitor. HostMonitor is not limited to the retrieval of HTML files for the HTTP and HTTPS checking, it can also retrieve other types of pages, even CGI scripts.
    Examples of URLs include:

  • http://www.yahoo.com/index.html
  • https://www.super.secure.server.gov:444/unpublished/mainpage.html
  • ftp://ftp.bhs.com/incoming/list.txt

  • Password protected page
    Use this option when the URL specified requires a name and password for access.
    User name
    If the URL specified requires a name and password for access, enter the user name in this box.
    Password
    If the URL specified requires a name and password for access, enter the password in this box.


    Code 302 (redirect) is Ok
    This parameter determines the HostMonitor's behavior, when HTTP/HTTPS server issues a redirect. If option disabled and HTTP server returns code 301 (Moved Permanently) or 302 (Moved Temporarily), HostMonitor marks test as "Bad". With this option enabled HostMonitor sets "Host is alive" status.

    Ignore unknown certificate authority problems
    This option allows checking web servers that use HTTPS protocol and security certificates that were issued by not trusted company. With this option enabled, HostMonitor will accept security certificates issued by any company. When this option is disabled and the certificate belongs to a not trusted company then HostMonitor will set the test status to "no answer".


    The URL test doesn't automatically retrieve any objects linked from the page. You can, however, instruct HostMonitor to retrieve the nested frames and images.

    Download nested frames
    Select this box if you want to retrieve the all frames referenced in a frameset and count their retrieval time in the total time to download this page. If "Download images" is also checked, HostMonitor will attempt to retrieve all images in all frames. In case the program successfully retrieve page specified in the URL field but cannot receive one of the nested frames, HostMonitor will mark test as "Bad contents".

    Download images
    Enable this option if you want the status and response time statistics to include the retrieval time for all of the embedded images in the page. Embedded images include those referenced by <IMG> HTML tags. Images that appear more than once in a page are only the retrieved once. In case the program successfully retrieve the page specified in the URL field but cannot receive one of images, HostMonitor will mark test as "Bad contents".

    Check CRC
    With this option enabled HostMonitor will save CRC (Cyclical Redundancy Check) of the downloaded data and do a checksum comparison each subsequent time test is performed. If the checksum changes, the test will have "Bad contents" status. So, if someone hack your site, HostMonitor can detect this before thousands of people see their handiwork on your corporate site.
    By default HostMonitor calculates (and checks) CRC for page specified in the URL. But if "Download nested frames" and/or "Download images" options are enabled, HostMonitor will calculate CRC for the nested frames and/or images as well.


    Check contents
    HostMonitor can search for a string (or several strings) in the returned page and start alert actions when string exists (or doesn't exist) on the page. Define string(s) and condition to alert using following options:
    Mode
    This option determines condition to check. Choose one of the available modes:
    - should contain HostMonitor will set "Bad contents" status when page does not contain specified string
    - should not contain   HostMonitor will set "Bad contents" status when page contains specified string
    - use expression HostMonitor will consider the string as boolean (logical) expression, evaluate expression using data received from the server, and set "Bad contents" status when retrieved page does not satisfy the required conditions.
    For example: if you define expression like "'No errors' and not ('Error' or 'Warning')", then HostMonitor will mark test as "Host is alive" when retrieved page contains string 'No error' and does not contain either 'Error' or 'Warning'
    Expression
    Enter a string of text to check the returned page. Remember that HTML tags are part of a document, so include the HTML tags if they are part of the text you are searching for (for example, "<B>Hello</B> World").
    If you chose "use expression" mode, you may use expressions like "("Total" and "End Of Page") and not ('Error' or 'Warning')". In this case, a test will have a "Host is alive" status when monitor can receive specified page and this page contains both strings "Total" and "End Of Page", and doesn't contain either strings "Error" or "Warning". In the expression you may use strings (must be concluded in quotes (') or in double quotes (")); round brackets; logical operators "and", "or", "not".
    Case sensitive
    With this option enabled search is case sensitive
    Whole words only
    Searches are for words only. With this option disabled, the search string might be found within longer words.

    Note: some server-based scripts can check agent's name and return different information for different HTTP agents (e.g. generate different HTML pages for Internet Explorer or Netscape). To get correct test results you may need to change "Agent name" parameter. Use Miscellaneous page in the Options dialog for this purpose.

    HTTP


    The HTTP test provides you with the ability to monitor HTTP based servers, verify the content of dynamically generated pages, check for the changed content. Also it can help you verify that CGI scripts and back-end databases are functioning properly. In contrast to URL test, that can perform HTTP request as well, HTTP test does not use wininet.dll (part of Internet Explorer). In this way we can avoid any problems related to IE's bugs (of course we can make mistakes as well but we always are able to fix our own mistakes :-). Also using HTTP test you can define more parameters specific to HTTP protocol and setup more varied checks.
    In addition to the common test parameters, the HTTP test has the following options:

    HTTP request parameters:

    URL
    Enter the URL you want to monitor (for example, http://www.ourbiggestserver.com)

    Proxy
    Optionally, a proxy server can be used to access the URL. Select a proxy server from the drop down list or choose "<none>" to perform direct request to HTTP server.
    You can open Proxies List dialog to modify the list of proxy servers. For each item from the proxy list you can specify:

  • Domain name or IP address of the HTTP proxy server
  • TCP port
  • User name
  • Password

    Request
    Choose type of HTTP request:
    HEADER 

    request for HTTP header. Server will return status information about the document (HTTP header) but will not transfer data. It allows you to check web server functionality with minimum network traffic but you cannot check the content of the web page.

    GET  

    request the page specified by URL parameter. Server will return status information (HTTP header) and data. You can use "Check content" and "Check CRC" options to monitor contents of the page.

    POST  

    send data (defined in "Post data" field) to the web server to be processed in some way, like by a CGI script. In this case URL is not a resource to retrieve; it's usually a program to handle the data you are sending. The HTTP response is normally the program output, not a static file. The most common use of POST is to submit HTML form data to CGI scripts. In this case, the "Content-Type:" header is usually set to "application/x-www-form-urlencoded". So, when you choose POST request, HostMonitor adds this header into "Optional headers" field by default. However you can change that header to another one or remove it.


    Follow redirect
    This parameter determines the HostMonitor's behavior, when the server issues a redirect. When the option enabled HostMonitor follows redirect and retrieve URL specified by server. If option disabled and HTTP server returns code 301 (Moved Permanently) or 302 (Moved Temporarily), HostMonitor marks test as "Bad".

    Post data
    If the URL is for a POST request, enter the post variables as name1=value1&name2=value2. This option is used to verify that a form is working correctly by performing the same request which occurs when a user submits a form. See also the "Check content" option for a way to verify that the correct form response was received.

    Authorization
    Use this option when the URL specified requires a name and password for access.
    User name
    If the URL specified requires a name and password for access, enter the user name in this box.
    Password
    If the URL specified requires a name and password for access, enter the password in this box.

    Agent
    Some server-based scripts can check agent's name and return different information for different HTTP agents (e.g. generate different HTML pages for Internet Explorer or Netscape). You can change this parameter to get correct results.

    Timeout
    Specify the number of seconds that the test should wait for a page to complete downloading before timing-out. Once this time period is over, the monitor will mark test as "No answer". If you have checked the "Download nested frames" or "Download images" option, HostMonitor will use the same timeout for all frames/images referenced on the page.
    If the Timeout property is set to 0 (default value), HostMonitor will use default Windows timeout specified for TCP protocol.

    Allow per-session cookies
    With this option enabled HostMonitor remembers cookies received from the server, and sends them back in case of redirection to another URL.
    This option can be useful when you need to check some access-restricted resources. Often web-based authorization systems use cookies to identify user. How it usually works:
    - user opens login page, enters login and password, and clicks "Login" button;
    - browser sends POST or GET request to a server with data entered by user;
    - server checks login/password and (in case data are correct) assings session ID for the user;
    - server sends cookie that contains ID to user's browser, and redirects user to another page;
    - browser must store cookie and send it back to server every time it (browser) requests access-restricted pages
    So, now HostMonitor can work like your browser and login to your mailbox to check whether you have the new messages. See also the "Check content" option for a way to verify that the correct response was received.

    Optional headers
    Specify optional HTTP headers those will be added to request. For example you can define cookies using string like "Cookie: name1=value1; name2=value2; name3=value3". When you send data to the server using POST method, HostMonitor automatically insert "Content-Type: application/x-www-form-urlencoded" header.


    Optional test parameters:

    The HTTP test doesn't automatically retrieve any objects linked from the page. You can, however, instruct HostMonitor to retrieve the nested frames and images.

    Download nested frames
    Select this box if you want to retrieve the all frames referenced in a frameset and count their retrieval time in the total time to download this page. If "Download images" is also checked, HostMonitor will attempt to retrieve all images in all frames. In case the program successfully retrieve page specified in the URL field but cannot receive one of the nested frames, HostMonitor will mark test as "Bad contents".

    Download images
    Enable this option if you want the status and response time statistics to include the retrieval time for all of the embedded images in the page. Embedded images include those referenced by <IMG> HTML tags. Images that appear more than once in a page are only the retrieved once. In case the program successfully retrieve the page specified in the URL field but cannot receive one of images, HostMonitor will mark test as "Bad contents".

    Check CRC
    With this option enabled HostMonitor will save CRC (Cyclical Redundancy Check) of the downloaded data and do a checksum comparison each subsequent time test is performed. If the checksum changes, the test will have "Bad contents" status.
    By default HostMonitor calculates (and checks) CRC for page specified in the URL. But if "Download nested frames" and/or "Download images" options are enabled, HostMonitor will calculate CRC for the nested frames and/or images as well.

    Recalculate CRC when page content changes detected
    With this option enabled, the new checksum will be recorded as the default in case the error "page content changed" occurs, so the test will return to "Good" status until the checksum changes again.

    Check header
    HostMonitor can search for a string (or several strings) in the HTML header (received from a server) and start alert actions when the string exists (or doesn't exist) in the header. Define string(s) and condition to alert using following options:
    Mode
    This option determines condition to check. Choose one of the available modes:
    - should contain HostMonitor will set "Bad contents" status when HTTP header does not contain specified string
    - should not contain   HostMonitor will set "Bad contents" status when HTTP header contains specified string
    - use expression HostMonitor will consider the string as boolean (logical) expression, evaluate expression using data received from the server, and set "Bad contents" status when retrieved HTTP header does not satisfy the required conditions.
    For example: if you define expression like "'HTTP/1.1' and not ('301' or '302')", then HostMonitor will mark test as "Host is alive" when retrieved data contains string 'HTTP/1.1' and contains neither '301' nor '302'.
    Expression
    Enter a string to check the returned HTTP header. If you chose "use expression" mode, you may use expressions like "('HTTP/1.1' or 'HTTP/1.0') and not ('301' or '302')". In this case, a test will have a "Host is alive" status when monitor gets reply from the server and retrieved HTTP header contains either strings "HTTP/1.1" or "HTTP/1.0", and doesn't contain either strings "301" or "302". In the expression you may use strings (must be concluded in quotes (') or in double quotes (")); round brackets; logical operators "and", "or", "not".
    Case sensitive
    With this option enabled search is case sensitive
    Whole words only
    Searches are for words only. With this option disabled, the search string might be found within longer words.

    Check contents
    HostMonitor can search for a string (or several strings) in the returned page and start alert actions when string exists (or doesn't exist) on the page. Define string(s) and condition to alert using following options:
    Mode
    This option determines condition to check. Choose one of the available modes:
    - should contain HostMonitor will set "Bad contents" status when page does not contain specified string
    - should not contain   HostMonitor will set "Bad contents" status when page contains specified string
    - use expression HostMonitor will consider the string as boolean (logical) expression, evaluate expression using data received from the server, and set "Bad contents" status when retrieved page does not satisfy the required conditions.
    For example: if you define expression like "'No errors' and not ('Error' or 'Warning')", then HostMonitor will mark test as "Host is alive" when retrieved page contains string 'No error' and does not contain either 'Error' or 'Warning'
    Expression
    Enter a string of text to check the returned page. Remember that HTML tags are part of a document, so include the HTML tags if they are part of the text you are searching for (for example, "<B>Hello</B> World").
    If you chose "use expression" mode, you may use expressions like "("Total" and "End Of Page") and not ('Error' or 'Warning')". In this case, a test will have a "Host is alive" status when monitor can receive specified page and this page contains both strings "Total" and "End Of Page", and doesn't contain either strings "Error" or "Warning". In the expression you may use strings (must be concluded in quotes (') or in double quotes (")); round brackets; logical operators "and", "or", "not".
    Translate date macro variables
    This option allows you to use date & time variables in the search string. It is useful when you have to monitor web pages that shall be updated regularly. E.g. if you provide "%mm%-%dd%-%yyyyy%" in the search string, HostMonitor will check the retrieved document for the presence of a current date and will set "Bad content" status for the documents without current date stamp. This option could be useful for testing various scripts and applications that generate web pages.
    Case sensitive
    With this option enabled search is case sensitive
    Whole words only
    Searches are for words only. With this option disabled, the search string might be found within longer words.

    Set "Bad" status when total download time is longer than NN msec
    With this option enabled HostMonitor will check total download time and mark status as "Bad" when download time is longer than specified.

    BTW: When HostMonitor cannot retrieve page at all, it marks test as "No answer" and Reply value will be empty. In case all checks passed, HostMonitor mark status as "Host is alive" and display total download time in the "Reply" field. Also "Reply" field will display total download time when any reply received from HTTP server, even if its message about error such as "Page not found" error.

  • TCP


    The TCP test provides you with the ability to monitor TCP based servers such as Whois, Finger, Telnet, Chargen, etc. Please note, that you may check SMTP, POP, IMAP, DNS, LDAP, HTTP/HTTPS, and FTP servers using dedicated SMTP, POP, IMAP, DNS, LDAP, URL, HTTP tests.
    In addition to the common test parameters, the TCP test has the following options:

    Host
    Specify the host name or IP address of the destination host that should process the TCP connection.
    Please note, a range of IP addresses (e.g. 123.123.123.1 - 123.123.123.254) rather than a single address can be specified. In this case, HostMonitor will create a separate test for each of the addresses within that range.

    Port
    Specify the port number on which the host is listening for incoming TCP packets. E.g. Telnet servers use port #23, Whois servers uses port #43, etc. For a list of conventional port numbers click the button to the right of the port number box.

    Timeout
    Enter the amount of time (in seconds) that HostMonitor should wait for a response from the server. If this value is 0 (default value), HostMonitor uses the default Windows timeout.

    The following optional parameters allow you not only to check whether the connection could be accepted by remote server but also allow to send some data to that server and check the response from it.

    Send data
    If you want to send data to the host (after TCP connection established), mark this option and enter the packet data. If you need to send binary data, use sequences formatted %XX where XX is a hexadecimal code of a character (byte). E.g. HELLO%0D%0A would send HELLO followed by a character ASCII 13 (line feed) and ASCII 10 (new line).

    Alert when
    To check the reply from the server, mark this option and choose one of the conditions to consider result of the test as "Bad":
    - no reply HostMonitor will set "No answer" status when no reply from the server received and set test status to "Host is alive" when any reply received
    - any reply HostMonitor will set "Ok" status when no reply from the server received and set test status to "Bad" when any reply received
    - reply contains HostMonitor will set "Bad" status when reply from the server contains specified string (defined in "Compare with" field). If reply doesn't contain the specified string, HostMonitor will set "Ok" status. The program sets status to "No answer" when no reply received.
    - reply doesn't contain   HostMonitor will set "Ok" status when reply from the server contains specified string (defined in "Compare with" field). If reply doesn't contain the specified string, HostMonitor will set "Bad" status. The program sets status to "No answer" when no reply received.
    - reply equal to HostMonitor will set "Bad" status when reply from the server equal to specified string (defined in "Compare with" field). If reply doesn't equal to the specified string, HostMonitor will set "Ok" status. The program sets status to "No answer" when no reply received.
    - reply not equal to HostMonitor will set "Ok" status when reply from the server equal to specified string (defined in "Compare with" field). If reply doesn't equal to the specified string, HostMonitor will set "Bad" status. The program sets status to "No answer" when no reply received.

    Compare with
    HostMonitor can compare data that was received from the server with specified string (use "Alert when" option to choose compare condition). As in "Send data" field you can use sequences formatted %XX where XX is a hexadecimal code of a character (byte). E.g. "October%00%00"

    UDP


    The UDP test provides you with the ability to monitor UDP based servers such as TFTP, SNTP, Daytime, etc. Please note, to check DNS, NTP, and RADIUS servers you can use dedicated DNS, NTP, and RADIUS tests.
    In addition to the common test parameters, the UDP test has the following options:

    Server
    Specify the host name or IP address of the destination host that should receive and process the UDP packet.

    Port
    Specify the port number on which the host is listening for incoming UDP packets. E.g. TFTP servers use port #69, SNTP servers use port #123, Daytime servers use port #13, etc

    Retries
    Set the number of times HostMonitor will resend data to the server before test fails.

    Timeout
    Enter the amount of time (in seconds) that HostMonitor should wait for a response from the server.

    Packet to send
    Enter the packet data that should be sent to the host. Because most UDP servers accept binary data, you may need to use sequences formatted %XX where XX is a hexadecimal code of a character (byte). E.g. HELLO%0D%0A would send HELLO followed by a character ASCII 13 (line feed) and ASCII 10 (new line).

    Alert when
    Choose one of the conditions to consider result of the test as "Bad":
    - no reply HostMonitor will set "No answer" status when no reply from the server received and set test status to "Host is alive" when any reply received
    - any reply HostMonitor will set "Ok" status when no reply from the server received and set test status to "Bad" when any reply received
    - reply contains HostMonitor will set "Bad" status when reply from the server contains specified string (defined in "Compare with" field). If reply doesn't contain the specified string, HostMonitor will set "Ok" status. The program sets status to "No answer" when no reply received.
    - reply doesn't contain   HostMonitor will set "Ok" status when reply from the server contains specified string (defined in "Compare with" field). If reply doesn't contain the specified string, HostMonitor will set "Bad" status. The program sets status to "No answer" when no reply received.
    - reply equal to HostMonitor will set "Bad" status when reply from the server equal to specified string (defined in "Compare with" field). If reply doesn't equal to the specified string, HostMonitor will set "Ok" status. The program sets status to "No answer" when no reply received.
    - reply not equal to HostMonitor will set "Ok" status when reply from the server equal to specified string (defined in "Compare with" field). If reply doesn't equal to the specified string, HostMonitor will set "Bad" status. The program sets status to "No answer" when no reply received.

    Compare with
    HostMonitor can compare data that was received from the server with specified string (use "Alert when" option to choose compare condition). As in "Packet to send" field you can use sequences formatted %XX where XX is a hexadecimal code of a character (byte). E.g. "October%00%00"


    Examples:

    To check your TFTP server fill up test parameters with following values:
      Server: address of the server
      Port: 69
      Alert when: no reply
      Packet to send:   %00%01filename%00%00netascii%00
    where filename is the name of the file on the server. We recommend provide incorrect (fake) name of the file.

    To check SNTP server fill up test parameters with following values:
      Server: address of the server
      Port: 123
      Alert when: no reply
      Packet to send:   %0B%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00
    %00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00
    %00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00
    Yes, string must be so long because request packet must contain 48 bytes

    NTP/SNTP


    The Network Time Protocol (NTP) is widely used to synchronize computer clocks in the global Internet. Using NTP/SNTP test you can easily check you NTP/SNTP server.
    In addition to the common test parameters, the NTP test has the following options:

    Server
    Specify the host name or IP address of the destination host that should receive and process the request from HostMonitor.

    Port
    Specify the port number on which the host is listening for incoming packets. By default NTP servers using port #123.

    Retries
    Set the number of times HostMonitor will resend data to the server before test fails.

    Timeout
    Enter the amount of time (in seconds) that HostMonitor should wait for a response from the server.

    Alert when difference in time greater than XX sec
    With this option enabled HostMonitor will mark test item as "Bad" when difference in time between the server and local system greater than specified value. If this option is disabled HostMonitor will set test's status to "Host is alive" when any correct response received from the server.

    Display mode
    This parameter defines what HostMonitor will display in "Reply" field. Choose one of the following options:

  • Reply time - display time required to send request and receive reply from the server
  • Remote time - display server's system time (Coordinated Universal Time)
  • Difference in time - display difference in time between server and local system
  • SMTP


    Most Internet e-mail servers use the Simple Mail Transfer Protocol (SMTP) to transmit e-mail from server to server. HostMonitor monitors this type of server by sending an SMTP command to the server as if it were an e-mail client or another server verifying the existence of a user. By verifying the username, the program effectively tests the SMTP server`s mail database without generating unnecessary mail messages.
    In addition to the common test parameters, the SMTP test has the following options:

    Server
    This is the name or IP address of the mail server you want to test, usually in the form "mail.yourcom.com".

    Port
    The default test port is 25, but you can specify a non-standard port. For a list of conventional port numbers click the button to the right of the port number box.

    Timeout
    This is the amount of time in seconds the program will wait for a response from the server before the request fails. Set this to 0 for no timeout (not recommended).

    Perform 'VRFY' test
    When checked, the test performs will include the verify ('VRFY') command, which is a complete test of the server's user database and its ability to respond to client requests. When this field is not checked, HostMonitor will log on to the mail server and then log off, but will not issue the "VRFY" command as part of the test. Skipping this command provides nearly the same level of server monitoring, since logging on and off effectively verifies that the mail server is accepting connections.
    For mail servers that support the "VRFY" command, and have it enabled, we suggest that you use the complete test. However, some mail servers do not support the "VRFY" command, so turning this check off is required. In addition, for security reasons, the "VRFY" command is sometimes disabled on some servers, again requiring that this extra test would be turned off.

    User Name
    Enter a valid e-mail account name that exists on the server you are testing. HostMonitor will ask the server if this user exists. Most mail servers have "root" or "postmaster" accounts defined, even if the server is used only to forward outgoing mail. You can also use your own account name, assuming you have an account on that server.

    POP3


    E-mail is commonly posted and transferred between mail servers using SMTP, but access to mail is provided through POP3 (Post Office Protocol version 3). POP3 test can be used to test that your mail server's POP functions are functioning perfectly. To perform test HostMonitor login to the server and logout using specified user account. As an option HostMonitor can check number of messages and size of messages for specified user. If messages count/size exceed specified limit, the program can start alert actions.
    In addition to the common test parameters, the POP3 test has the following options:

    Server
    This is the name or IP address of the mail server you want to test, usually in the form "mail.yourcom.com".

    Port
    The default test port is 110, but you can specify a non-standard port.

    Timeout
    This is the amount of time in seconds the program will wait for a response from the server before the request fails. Set this to 0 for no timeout (not recommended).

    User Name
    HostMonitor will test the POP server by logging in to it using an existing account. In the user name field, supply the name of an account that can be used for testing. HostMonitor will log into the account and check the status of its mailbox without accessing, modifying or deleting any of the messages held in it.

    Password
    Supply the password for the user account HostMonitor will log into during the test.

    Alert when mailbox contains more then [NN] messages
    Mark this option and specify limit amount of messages in a mailbox. When this limit is reached, HostMonitor will change test status to Bad.

    Alert when total size of messages bigger than [NN] MB
    Mark this option and specify the size limit of all messages in a mailbox. When this limit is reached, HostMonitor will change test status to Bad.

    Note: Value of the 'Reply' field depends on the test's settings:

  • if test checks number of messages, HostMonitor will display number of messages
  • if test checks total size of messages, HostMonitor will display total size of messages.
  • if both these options disabled and test checks server status only (connect, login and logout), Reply value will contain the test execution time (that shows the reply speed of the server).
  • Reply value is empty when the program cannot connect or login to server
  • IMAP


    Some Internet mail servers support IMAP (Internet Message Access Protocol) for exchanging and manipulating e-mail. The IMAP test works much in the same way that POP3 test function to test IMAP compliant mail servers. The IMAP test performed by HostMonitor involves logging in to your mail server using an existing account and checking the status of the mailbox for that user. As option HostMonitor can check number of messages and size of messages for specified mailbox. If message count/size exceed specified limit, the program can start alert actions.
    In addition to the common test parameters, the IMAP test has the following options:

    Server
    This is the name or IP address of the mail server that you want to test, usually in the form "mail.yourcom.com".

    Port
    The default test port is 143, but you can specify a non-standard port.

    Timeout
    This is the amount of time in seconds the program will wait for a response from the server before the request fails. Set this to 0 for no timeout (not recommended).

    User Name
    HostMonitor will test the IMAP server by logging in to it using an existing account. In the user name field, supply the name of an account that can be used for testing. HostMonitor will log into the account and check the status of it's mailbox without accessing, modifying or deleting any of the messages held in it.

    Password
    Supply the password for the user account HostMonitor will log into during the test.

    Check mailbox
    Mark this combobox and select one of the folowing options to check the parameters of the specified mailbox.

    Mailbox
    Specify name of the mailbox to check.

    Alert when mailbox contains more then [NN] messages
    Select this option and specify the limit amount of messages in the mailbox. When this limit is reached, HostMonitor will change test status to Bad.

    Alert when total size of messages bigger than [NN] MB
    Select this option and specify the size limit of all messages in the mailbox. When this limit is reached, HostMonitor will change test status to Bad.

    Recent messages only
    With this option enabled, HostMonitor will check only recent messages. The recent messages are the messages that appear in the mailbox after the last check.

    Note: Value of the 'Reply' field depends on the test settings:

  • if test checks number of messages, HostMonitor will display number of messages.
  • if test checks total size of messages, HostMonitor will display total size of messages
  • if 'check mailbox' options disabled and test checks server status only (connect, login and logout), Reply value will contain the test execution time (that shows the reply speed of the server).
  • Reply value is empty when the program cannot connect or login to the server
  • DNS


    The DNS test acts as a low-level resolver and connects directly to the target name server to perform a query. This means that the test is completely independent of the host files, DNR cache, etc.
    In addition to the common test parameters, the DNS test has the following options:

    Server
    This is the domain name or IP address of the machine running the DNS server that you wish to monitor. Using a domain name in the DNS Address field requires that the domain name be resolved before the Domain Name Server can be tested, creating ambiguity in testing. It is better to enter the IP address of your Domain Name Server, as opposed to the domain name, so that the test will always report the correct error if the DNS fails.

    Protocol
    Select the protocol to use: TCP or UDP

    Port
    The default test port is 53, but you can specify a non-standard port. For a list of conventional port numbers click the button to the right of the port number box.

    Timeout
    This is the amount of time in seconds the program will wait for a response from the server before the request fails.

    Host name to resolve
    This is the domain name the HostMonitor will try to resolve into an IP number. You can check the intranet ability of the name server by asking it to resolve a machine name within the domain for which it is authoritative (like yourmachine.yourcompany.com). Or, you can check its Internet ability by asking it to resolve an external machine name (like www.foreign.com).

    Check result address, IP Address
    You can define the IP address that will be compared with the address returned from the DNS being tested. You can use the ½Resolve╗ button to have HostMonitor fill in this field, or you can enter the expected IP number yourself.

    LDAP


    This test is used to check Directory Servers using the LDAP (Lightweight Directory Access Protocol). To perform this test HostMonitor connects and binds to the directory server. If the Password property has a value, it is used for authentication. As an option HostMonitor can perform Search operation using specified base object and search filter.
    In addition to the common test parameters, the LDAP test has the following options:

    Server
    This is the name or IP address of the LDAP server you want to test.

    Port
    The default test port is 389, but you can specify a non-standard port. For a list of conventional port numbers click the button to the right of the port number box.

    Timeout
    This is the amount of time in seconds the program will wait for a response from the server before the request fails.

    Password
    Specify the password used to authenticate to the LDAP server.

    Perform Search operation
    HostMonitor can perform search operation, to implement this behavior mark "Perform Search operation" option and define follow parameters:

    Base object
    The Distinguished Name used as the base for LDAP operations (in HostMonitor's case it's a base object during LDAP searches). The Distinguished Name is provided in string format as specified by RFC 1779.

    Search filter
    A string representation of the LDAP search filter used during searches. The format of the search filters is specified by RFC 1558 and is identical to the format used by most LDAP applications. The following are examples of search filters, as provided in the RFC:

  • (cn=Babs Jensen)
  • (!(cn=Tim Howes))
  • (&(objectClass=Person)(|(sn=Jensen)(cn=Babs J*)))
  • (o=univ*of*mich*)

    Results limit
    By default HostMonitor checks only result code returned by the server. If result code is 0 (success), HostMonitor sets "Host is alive" status. However if you want to check how many records server returns in response to search operation, use "Results limit" option. In this case HostMonitor will check number of records returned by the server and set "Bad contents" status when number of records below specified limit.

  • RADIUS


    RADIUS test allows you to check Remote Authentication Dial-In User Service (RADIUS). In addition to the common test parameters, the RADIUS test has the following options:

    Server
    Specify the host name or IP address of the destination host that should receive and process the request from HostMonitor. You RADIUS server must be configured to accept packets from the IP address of the machine on which HostMonitor is installed.

    Port
    Specify the port number on which the host is listening for incoming packets. By default RADIUS servers using port #1812. However some RADIUS servers are still using port 1645 even though RFC 2138 notes the conflict with "datametrics" services. You may need to change 1812 to 1645, this will depend on your RADIUS server configuration.

    Retries
    Set the number of times HostMonitor will resend data to the server before test fails.

    Timeout
    Enter the amount of time (in seconds) that HostMonitor should wait for a response from the server.

    Login
    Specify the name of the user to be authenticated. You can use invalid (fake) user name and set "Reject reply is Good" option. In this case HostMonitor will mark test as "bad" and start alert actions only when no reply received. If any reply from the server will be received, HostMonitor will mark test as "Host is alive". Please note, for security reasons some RADIUS services will quietly discard invalid request packets. To check these servers you should specify correct user name and password.

    Password
    Specify the password of the user to be authenticated.

    Secret
    Provide a "shared secret". Transactions between the client and RADIUS server are authenticated through the use of a shared secret, which is never sent over the network. User passwords are sent encrypted between the client and RADIUS server, to eliminate the possibility that someone snooping on an unsecured network could determine user's password.

    Reject reply is Good / Reject reply is Bad
    Choose one of two options:

  • "Reject" reply is Good
        with this option enabled HostMonitor will set test's status to "Host is alive" when any reply received from the server
  • "Reject" reply is Bad
        with this option enabled HostMonitor will set test's status to "Ok" when "Access-Accept" packet received from the server (that means user was successfully authenticated on server). If any other response was received, the program will set "Bad" status. If no answer received, HostMonitor set status to "No answer"
    Please note:
    1. You RADIUS server must be configured to accept packets from the IP address of the machine on which HostMonitor is installed.
    2. For some RADIUS servers you can use invalid (fake) user name and/or password and set "Reject reply is Good" option. In this case HostMonitor will mark test as "bad" and start alert actions only when no reply received. If any reply from the server will be received, HostMonitor will mark test as "Host is alive".
      However, for security reasons some RADIUS services will quietly discard invalid request packets. To check these servers you should specify correct user name and password.
  • UNC


    Check the UNC path (or local folder) for availability; for the total amount of free space; or for the amount of free space available to the current user (if the operating system implements per-user quotas, this value may be less than the total number of free bytes on the disk). For this test you have to specify the UNC path (or local folder) that you wish to be checked and select the condition for the alert:

  • when the resource is unavailable
  • when free space (for current user) is less than a specified value
  • when the total free space is less than a specified value See also common test parameters

  • Drive Free Space


    To create a task to check for low disk space, choose "Drive Free Space" as the test type, select the drive to check, and specify the minimum free space value. To check available space on a drive elsewhere on the network, use a UNC test, or map the drive to a drive letter on the local PC that is running HostMonitor. (Map a drive by locating it in the "Network Neighborhood" area of the Windows Explorer, right-click it and select "Map network drive".)

    See also common test parameters

    Folder/File Size


    HostMonitor can check folder or file size. To add this task select the test type "Folder/File Size", enter the folder name and specify a maximum size. You can manually type in the complete path to the folder that you wish to test, or click on the "Browse" button to select the folder.
    Also, select the option "Include sub-folders" and HostMonitor will calculate the size for the folder and all its sub-folders. Set "Translate macros" options if you need use special macros in filename.

    See also common test parameters

    Count Files


    This test allows you to check number of files in the specified directory. Let`s say you have a mailserver that uses a spool directory. If the mail server is running correctly, it should deliver the mail within 5 minutes to the internet. Using Count Files test HostMonitor can check the number of files in the mail server`s spool directory and warn you when number of files exceed specified limit.
    In addition to the common test parameters, the Count Files test has the following options:

    Folder
    Specify the directory in what you want to count the amount of files.

    File name mask
    Specify file name mask. Usually mask contains wildcard characters, e.g. use '*.*' mask to count all files in the folder; use '*.eml' mask to count files with .EML extension.

    Translate macros
    With this option enabled you can use special macro variables in the folder name and in the file name mask.

    Include sub-folders
    If the option is disabled, HostMonitor will count files directly in the specified folder. If the option is enabled, files in the specified folder and in all of its descending subfolders will be counted.

    Conditions to count files
    Specify additional condition to count files. Choose one of the options:

  • Count all files
  • Count files older than NN min
  • Count files newer than NN min
  • Count files bigger than NN bytes
  • Count files smaller than NN bytes
  • Count subfolders only Alert when folder contains more than NN files
    Specify limit for the file amount. When this limit is reached, HostMonitor will change test status to "Bad". If you need to start alert actions when file amount become lower than specified, use "Reverse alert" option.

  • Folder/File Availability


    HostMonitor can check for a file that MUST exist each time a test is run, or can check for a file that MUST NOT exist each time a test is run. Select "Folder/File Availability" as the test type and enter the file or folder name. You can manually type in the complete path and filename that you wish to test, or click on the "Browse" and you will be presented a dialog for selecting a file.
    Set "Translate macros" options if you need to use special macros in filename. Also you can set additional conditions and HostMonitor will start alert action only when file older (newer) than [xx] min (hours, days, etc.)

    See also common test parameters

    File Integrity


    HostMonitor can check the integrity of your files and start alert actions if someone change them. This is done by calculating the CRC (Cyclic Redundancy Check) of the file and comparing it against a previously obtained value. Select "File Integrity" as the test type and enter the file name. You can manually type in the complete path and filename that you wish to test, or click on the "Browse" button. Click the "Calculate CRC" button and the program will calculate and remember the CRC for the file.

    See also common test parameters

    Text Log


    This test is useful when you need to check log files created by another application. Unlike "Compare Files" test that warns you when any part of a file contains some specific string the Text Log test warns you only when the string is found in a NEW record. It means that if log file already has "bad' records when you started HostMonitor, you will not receive any alerts; but if any new "bad" record will be added to the log file while HostMonitor is running, you will receive a warning about the new problem. So the Text Log test works like NT Event Log test but it checks text files instead of NT Event Log Database.
    In addition to the common test parameters, the Text Log test has the following options:

    File
    Provide name (with full path specified) of the file that has to be checked. If the test will be performed on a remote system by RMA you have to enter the full name and path of the file manually. If the test will be performed by HostMonitor, you may use browse dialog to locate the file.

    Use date macros
    You may need this option if an application changes log file at regular intervals, e.g. daily or monthly. With this option enabled you may use special macro variables in the file name (e.g. %dd% represents current day as a number with a leading zero 01..31)

    Look for

  • string: with this option selected HostMonitor will check records in a log file for a specified string. If new record contains specified data, HostMonitor will change status of the test to "Bad"
  • expression: with this option selected HostMonitor will check log records using a boolean (logical) expression. Status of the test will be set to "Bad" when the text in the record satisfies the required conditions. In the expression you may use strings (must be concluded in quotes (') or double quotes (")); round brackets; logical operators "and", "or", "not".
    For example: if you define expression like ('error' or 'warning') and not '16536', then HostMonitor will mark test as "Bad" when line in the log contains string 'error' or 'warning' and does not contain string '16536'

    Options:
    Case sensitive
    With this option enabled search is case sensitive
    Whole words only
    Search for the whole words only. With this option disabled, the search string might be found as a part of a word.
    Macros
    With this option enabled you may use global (user defined) macro variables in the "look for" string/expression


    Warn of last new event
    With this option enabled HostMonitor will scan (starting from the end of the log file) all events that were added into a log file since after the previous test. When the test finds a first "Bad" new record the test receives "Bad" status and HostMonitor performs specified alert action if it was specified. For example: if HostMonitor performs test every 10 minutes and 3 "Bad" events occurred within this time interval, HostMonitor will report only about the last one (because it scans starting from the end of file). This option is useful when you check for some specific event and don't need many messages about the same recurring error.

    Warn of all new events
    In opposite to previous mode, with this option enabled HostMonitor will inform you about each event that satisfies specified requirements. This option is useful when you use one test item to check for different error events (usually you will use "Repeat: until status changes" option for appropriate alert actions).

    Note: HostMonitor changes test status to "Bad" only when it has found NEW event(s) that satisfies all specified requirements. If, after the next probe, the monitor does not find a new "Bad" event, it changes the test status to "Ok".


    Display
    Specifies which information HostMonitor will display in the reply field when the "bad" record is detected in the log file:

  • found line
  • offset of the found string in the file
  • file size

    Filter
    When you chose "found line" mode you may apply additional filter to the select part of the line to display:
  • display whole line
  • display word #N
  • display word #N counting from the end of line
  • display text from word #N1 till word #N2
  • display text from pos #N1 till pos #N2

  • Compare Files


    You can use this test to compare two files or to search a string in the file. 6 alert conditions are available:

  • alert when files are different
  • alert when files are identical
  • alert when 1st file contains 2nd (in any position)
  • alert when 1st file does not contain 2nd
  • alert when file contains a specified string
  • alert when file does not contain a specified string You can specify one or more parameters to compare files: compare time, compare size, compare contents. If you set "compare contents" option but don't set "compare size" option, HostMonitor will consider two files are identical when one file includes another one at offset 0 (one file can be smaller then another one).
    Set "Translate macros" options if you need to use special macros in filename.

    See also common test parameters

  • Process


    A process, in the simplest terms, is an executing program. HostMonitor can control specified process on local or remote computer and start alert actions if number of instances of the specified process is out of the defined range. To control processes on a remote computer you must have the rights to do that (administrator privilege on the remote computer).
    In addition to the common test parameters the Process test has the following options:

    Computer name
    Specify name of the target computer (the target computer name must be prefixed by "\\"), or select the "<local computer>" item. You can use the "Browse network" button to select a computer from the list.

    Process
    Type name of the process to check, or select a process from the drop-down list. Also select lower and/or upper limit amount of running instances of the specified process, when the limit is reached HostMonitor will mark the test status as Bad.

    Connect as
    To check process on remote system you can mark this option and provide a username and a password for a connection to the target computer.

    Note: To monitor processes on a remote Windows NT/2000/XP system, make sure you have the Remote Registry service started on the remote system (to monitor processes HostMonitor must have access to the registry). On Windows 2000 this service is installed by default, for Windows NT you can find this service in the Resource Kit.

    Service


    Microsoft Windows NT/2000/XP supports an application type known as a service. It can be started automatically at system boot, by a user through the Services control panel applet, or by an application that uses the service functions. Services can execute even when no user is logged on to the system.

    To test services, HostMonitor establishes a connection to the service control manager on the specified computer and requests the service to update immediately its current status information. If the service has not been started or the service does not answer HostMonitor will start the specified alert actions.
    Note: To test services on a remote computer you must have appropriate privileges.

    In addition to the common test parameters the Service test has the following options:

    Computer name
    Specify name of the target computer (the target computer name must be prefixed by "\\"), or select the "<local computer>" item. You can use the "Browse network" button to select a computer from the list.

    Service
    Type name of the service to check, or select a service from the drop-down list.

    Connect as
    To check service on a remote system you can mark this option and provide a username and a password for a connection to the target computer.

    NT Events Log


    Event logging in Microsoft Windows NT/2000/XP provides a standard, centralized way for applications (and the operating system) to record important software and hardware events. The event-logging service stores events from various sources in a single collection called an event log. HostMonitor can check this log and start alert actions if some specific events occur.
    In addition to the common test parameters the NT Event Log test has the following options:

    Computer
    The Universal Naming Convention (UNC) name of the server on which the event log is to be opened (the target computer name must be prefixed by "\\"). Type the UNC or select the "<local computer>" item, also you can use the "Browse network" button to select a computer from the list.

    Log
    The name of the logfile that the returned handle will refer. This can be the Application, Security, or System logfile, or a custom registered logfile.


    In the Event Log Test Properties dialog define one or more conditions to filter "Bad" events (event will be considered as "Bad" only when it match ALL specified requirements):

    Event Source
    Select the source of events (application, service, driver, subsystem). If you leave this field blank, HostMonitor will check events from all sources.

    Computer
    Match against the computer that added the entry to the log file. You can provide list of the computers and choose one of the options:
    - Any name of the computer doesn't matter (event from any computer can be** considered as "Bad")
    - Any from the following event can be** considered as "Bad" when computer (that added the entry to the log) is specified in the list
    - Any except the following   event can be** considered as "Bad" when computer (that added the entry to the log) is not specified in the list
    BTW: To add a new line to the end of the list go to the last existing line and press Down Arrow button. Press INSERT button to insert new item. Press CTRL+DEL to remove item. Press F2 to edit item.

    Event type
    Match against the event type. Just mark one or several possible event types: Error, Warning, Information, Success Audit, and Failure Audit.

    Event ID
    Match against the event ID (event ID is specific to the software that generated the event log entry). You can provide list of the ID codes and choose one of the options:
    - Any ID doesn't matter (event with any ID can be** considered as "Bad")
    - Any from the following event can be** considered as "Bad" when ID is specified in the list
    - Any except the following   event can be** considered as "Bad" when ID is not specified in the list

    Description contains
    Match against the event description. You can provide list of the text strings (phrases) and choose one of the options:
    - Any text event description doesn't matter (event with any description can be** considered as "Bad")
    - Any string from the list event can be** considered as "Bad" when description contains ANY string from the list
    - Nothing from the list event can be** considered as "Bad" when description does not contain ANY string from the list
    - All strings from the list   event can be** considered as "Bad" when description contains ALL strings from the list
    BTW: To add a new line to the end of the list go to the last existing line and press Down Arrow button. Press INSERT button to insert new item. Press CTRL+DEL to remove item. Press F2 to edit item.


    ** when we say "can be**", we mean event WILL BE considered as "Bad" WHEN IT MATCHES ALL specified requirements.


    Report about last "Bad" event
    With this option enabled HostMonitor will scan (starting from the end of the log) all new events (events those appeared after previous probe) till first (ok, 'last' because it scans from the end) "Bad" event. If new "Bad" event is detected, HostMonitor marks test as "Bad" and performs specified alert actions if necessary.
    For example: if HostMonitor performs test every 10 minutes and 3 "Bad" events occurred within this time interval, HostMonitor will report only about last one. This option is useful when you check for some specific event and don't need many messages about the same recurring error.

    Report about all "Bad" events
    In opposite to previous mode, with this option enabled HostMonitor will inform you about each event that satisfies specified requirements. This option is useful when you use one test item to check for different error events (e.g. you are checking for any event with "Failure Audit" type). BTW do not forget to use "Repeat: until status changes" option for appropriate alert actions.


    HostMonitor changes test status to "Bad" only when it has found NEW event(s) that satisfies all specified requirements. If, after the next probe, the monitor does not find a new "Bad" event, it changes the test status to "Ok".


    Connect as
    To check an Event Log on the remote system you can mark this option and provide a username and a password for a connection to the target computer.

    CPU Usage


    CPU Usage test checks the percentage of CPU utilization for the local or remote machine. This test is implemented for Microsoft Windows NT/2000/XP and Novell Netware 4.x, 5.x.
    In addition to the common test parameters the CPU Usage test has the following options:

    Computer
    Specify name of the target computer, it can be:

  • "<local computer>" or an empty string when using the test for a local machine;
  • a Universal Naming Convention (UNC) name of the computer (like "\\Server1") when using this test for remote Windows NT/2000/XP machines;
  • a server name (like "server1") or NDS tree name (like ".bigcompany.ifx.department2.sever1") when using this test for Novell Netware server. OS
    Select the type of OS on the target computer (Windows NT/2000/XP or Novell Netware).

    Alert when CPU usage more than
    HostMonitor will mark the host as "Bad" and start alert actions when the percentage of CPU usage becomes more than specified.

    Connect as
    To check CPU usage on remote Windows system you may mark this option and provide a username and password for a connection to the target computer.

    Note #1: To monitor CPU utilization on a remote Windows NT/2000/XP system, make sure you have the Remote Registry service started on the remote system (to monitor processes HostMonitor must have access to the registry). On Windows 2000 this service is installed by default, for Windows NT you can find this service in the Resource Kit.
    Also to use this test for remote Windows NT/2000/XP computers you must have the permissions to do that (administrator privilege on the remote computer).

    Note #2: To check Novell Netware servers, HostMonitor uses the functionality of the Novell Netware client. Therefore, the Novell Netware client software has to be installed on the machine where HostMonitor is running.

  • Database Server


    HostMonitor can test your SQL servers. It supports Interbase, MS SQL, MySQL, Oracle, Postgre, and Sybase servers. Servers are checked by logging into (and out) of the server. You should specify the server name (the TNS alias for Oracle), database, user name and password. For Interbase you can specify the protocol (TCP, SPX, or NetBEUI), for MySQL and for PostgreSQL you can change the default TCP port.
    To monitor Oracle servers HostMonitor uses the Oracle Call Interface (OCI.DLL), you should have the Oracle client software installed on the computer. The same is true for other SQL servers, install the client software for testing your SQL server. HostMonitor uses the following DLLs:

  • gds32.dll to monitor Interbase connections
  • ntwdblib.dll to monitor MS SQL Server
  • libmysql.dll to monitor MySQL
  • libpq.dll to monitor PostgreSQL
  • libsybdb.dll to monitor Sybase See also common test parameters

  • ODBC Query


    This test allows you to check the availability of an ODBC data source, run an SQL query, and analyze the value of a specified data field in the result set returned. To set up a test, simply pick one of the ODBC data sources defined in your system, and fill in the Login, Password and Timeout fields. Optionally, provide an SQL query and a condition to check. If no condition is specified, the two possible test status values are "Alive" and "No answer". If a condition is provided, test status can be either:

  • "Ok" - if the condition is met;
  • "Bad" - if the condition is not met;
  • "Unknown" - if the query fails, or the data field specified is not found in the result set.

    If field is unavailable, set status
    Starting from version 3.62 you can use above option to define status of the test in case SQL query was executed without errors but result data set does not contain specified field (specified by row and col parameters). Choose one of the following statuses:

  • Unknown
  • Bad
  • Ok See also common test parameters

  • SNMP


    The Simple Network Management Protocol is the Internet standard protocol for exchanging management information between management console applications and managed entities (hosts, routers, bridges, hubs). Using this powerful test HostMonitor can control many different parametrs of network devices.
    In addition to the common test parameters, the SNMP test has the following options:

    Agent address
    A string specifying either a dotted-decimal IP address or a host name that can be resolved to an IP address, an IPX address (in 8.12 notation), or an Ethernet address.

    Community
    A string specifying the SNMP community name used when communicating with the device specified in the Agent Address parameter. By default on SNMP systems this is "PUBLIC" but it can be different on your systems.

    Timeout
    This is the amount of time in seconds the program will wait for a response from the server before the request fails.

    Retries
    Specifies the communications retry count.

    OID (object identifier)
    The name that uniquely identifies the object for testing.
    For example OID "1.3.6.1.2.1.2.1" represents the number of network interfaces on which your system can send/receive IP datagrams; OID "1.3.6.1.2.1.6.9" represents the number of TCP connections for which the current state is either ESTABLISHED or CLOSE-WAIT; etc. To get a list of valid OIDs for your SNMP enabled devices you should contact the vendor of the device. They should be able to give you a MIB file that contains all the OIDs for the device.

    Condition for alert
    HostMonitor can compare values returned by the device with a specified string and start alert actions if the returned value is:

  • less/more than the specified value
  • equal to/different from the specified number or string
  • contains/doesn't contain the specified string Also HostMonitor has 9 alert conditions to check how new value changes compare to the previous test:
     "increases by" - HM sets "Bad" status when value increases by specified number or more
     "decreases by" - HM sets "Bad" status when value decreases by specified number or more
     "changes by" - HM sets "Bad" status when value changes by specified number or more
     "increases by (%)" - HM sets "Bad" status when value increases by specified (or greater) percentage
     "decreases by (%)" - HM sets "Bad" status when value decreases by specified (or greater) percentage
     "changes by (%)" - HM sets "Bad" status when value changes by specified (or greater) percentage
     "increases /sec" - HM sets "Bad" status when average increase of the counter (per second) is greater than the specified limit ((new value - old value)/elapsed time >= specified limit)
     "decreases /sec" - HM sets "Bad" status when average decrease of the counter (per second) is greater than the specified limit ((old value - new value)/elapsed time >= specified limit)
     "changes /sec" - HM sets "Bad" status when average change of the counter (per second) is greater than the specified limit (abs(new value - old value)/elapsed time >= specified limit)

  • RAS


    The RAS check type useful for monitoring remote RAS server. With this test HostMonitor tries to connect to the server using specified dial-up connection, sets status of the test ("Ok", "Bad", "No answer", or "Unknown" depending on the connection result), and disconnects from the server.
    In addition to the common test parameters, the RAS test has the following options:

    Connection
    Select from drop down list the remote access entry to establish the connection.

    User name
    Specify the user's name. This parameter is used to authenticate the user's access to the remote access server. If the user name is empty string (""), HostMonitor uses the user name of the current logon context for authentication. For a user-mode application, RAS uses the credentials of the currently logged-on interactive user. For a Win32 service process, RAS uses the credentials associated with the service.

    Password
    Specify the user's password. This parameter is used to authenticate the user's access to the remote access server. If the password is empty string (""), HostMonitor uses the password of the current logon context for authentication. For a user-mode application, RAS uses the credentials of the currently logged-on interactive user. For a Win32 service process, RAS uses the credentials associated with the service.

    Save password
    This option has sense only if Password parameter is not an empty string. Specifies whether to save the password (in the phone-book entry) for the user indicated by User Name parameter or not. If "Save password" option is disabled, the password will be removed. Disabling option is equivalent to checking the "Unsave Password" checkbox in Dial-Up Networking dialog.

    Retries
    Set the number of times the dial-up connection is automatically redialed if the first attempt to connect fails. HostMonitor does not perform second attempt in case connection failed because of the wrong user name or password. If you setup HostMonitor to check several servers using the single modem connected to your computer, it is good idea to set retries to 3 or more attempts and use Wait between retries option. In this case test that was started second (third, forth, etc) will wait for the first test to end and release modem.

    Wait between retries
    If attempt to dial fails, HostMonitor will wait specified amount of seconds before making another attempt. Of course this parameter makes sense only when Retries field set to 2 or more attempts.

    After execution of a test HostMonitor can set one of four statuses:

  • "Ok" status HM sets when connection was successfully established (physical connection modem-to-modem, and network connection as well).
  • "Bad". There can be many reason for this status, e.g. wrong user name or password, some problems with RAS server, etc.
  • "No answer". The program uses this status when modem does not receive answer from remote modem.
  • "Unknown". This status HostMonitor sets when connection was not established because of a problem on local system, e.g. modem is used by another application. You can use "Treat Unknown status as Bad" option. With this option enabled, if test results cannot be obtained, actions are triggered by HostMonitor the same way as if the test returned a "Bad" status.
  • Performance Counter


    Performance Counter test allows you to monitor specific aspects of work performed on local or remote computer by a system or a service. You can monitor a lot of important parameters of the system (that is running Windows NT 4.0, Windows 2000, or Windows XP), such as:
    Counter Description
    Processor\% Processor Time % Processor Time is the percentage of time that the processor is executing a non-Idle thread
    Processor\% Interrupt Time % Interrupt Time is the percentage of time the processor spent receiving and servicing hardware interrupts during the sample interval
    Processor\Interrupts/sec Interrupts/sec is the average number of hardware interrupts the processor is receiving and servicing in each second
    System\Processes Processes is the number of processes in the computer at the time of data collection
    TCP\Connections Established Connections Established is the number of TCP connections for which the current state is either ESTABLISHED or CLOSE-WAIT
    TCP\Segments/sec Segments/sec is the rate at which TCP segments are sent or received using the TCP protocol
    Process\% Processor Time % Processor Time is the percentage of elapsed time that all of the threads of specified process used the processor to execute instructions
    Process\Handle Count The total number of handles currently open by specified process
    Printer Queue\Jobs Current number of jobs in a print queue
    PhysicalDisk\% Disk Time % Disk Time is the percentage of elapsed time that the selected disk drive is busy servicing read or write requests
    PhysicalDisk\Current Disk Queue Length Current Disk Queue Length is the number of requests outstanding on the disk at the time the performance data is collected
    Memory\Available Bytes Available Bytes is the amount of physical memory available to processes running on the computer, in bytes
    NetworkInterface\Current Bandwidth Current Bandwidth is an estimate of the interface's current bandwidth in bits per second (BPS)
    and much moreà

    To create Performance Counter test you need to define just 3 parameters (of course in addition to the common test parameters):

    Performance Counter
    Type name of the counter to monitor or use browse button to explore all performance counters available on the system.
    Note: Each counter is uniquely identified through its name and its path, or location. In the same way that a file path includes drives, directories, subdirectories, and file names, a counter path consists of four elements: the machine, the object, the object instance, and the counter name. The syntax of a counter path is:
    \\Machine\PerfObject(ParentInstance/ObjectInstance#InstanceIndex)\Counter

    Condition for alert
    HostMonitor can compare value of the counter with a specified number and start alert actions if the returned value is:

  • less than the specified value
  • more than the specified value
  • equal to the specified number
  • different from the specified number Also HostMonitor has 9 alert conditions to check how new value changes compare to the previous test:
     "increases by" - HM sets "Bad" status when value increases by specified number or more
     "decreases by" - HM sets "Bad" status when value decreases by specified number or more
     "changes by" - HM sets "Bad" status when value changes by specified number or more
     "increases by (%)" - HM sets "Bad" status when value increases by specified (or greater) percentage
     "decreases by (%)" - HM sets "Bad" status when value decreases by specified (or greater) percentage
     "changes by (%)" - HM sets "Bad" status when value changes by specified (or greater) percentage
     "increases /sec" - HM sets "Bad" status when average increase of the counter (per second) is greater than the specified limit ((new value - old value)/elapsed time >= specified limit)
     "decreases /sec" - HM sets "Bad" status when average decrease of the counter (per second) is greater than the specified limit ((old value - new value)/elapsed time >= specified limit)
     "changes /sec" - HM sets "Bad" status when average change of the counter (per second) is greater than the specified limit (abs(new value - old value)/elapsed time >= specified limit)

    HostMonitor can set status of the test to "Unknown" in case it cannot retrieve performance counter value (e.g. unable to connect to the remote machine or the specified counter could not be found). You can use "Treat Unknown status as Bad" option. With this option enabled, if test results cannot be obtained, actions are triggered by HostMonitor the same way as if the test returned a "Bad" status.

    Display mode
    This parameter defines information display method. You can select one of the following options:
      as is - do not perform any conversion
      sec -> [days] hh:mm:ss - converts received value in seconds to a "[days] hh:mm:ss" format
      msec-> [days] hh:mm:ss - converts received value in milliseconds to a "[days] hh:mm:ss" format
      bytes -> Kb - converts received value in bytes to kilobytes
      bytes -> Mb - converts received value in bytes to megabytes
      bytes -> Gb - converts received value in bytes to gigabytes


    Important notes:

    Note #1 (permissions): The security on the following registry key dictates which users or groups can gain access to the performance data: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows_NT\CurrentVersion\Perflib. In order for to query performance data, account must have KEY_READ access to the above registry key. To change permissions to the registry key you can use the registry editor utility (Regedt32.exe).

    Note #2 (bugs): Windows implementation of performance counters has bugs. E.g., Windows 2000 (Professional, Server, and Advanced Server editions) can produce memory leak in Pdh.dll when user (application) querying performance counter that does not exist. This bug fixed in SP2. Also pdh.dll does not work correctly with multithread applications.
    That's why in HostMonitor we have implemented several different methods to work with pdh.dll:

  • MultiThread mode: HostMonitor works almost according to Microsoft documentation with some workaround to avoid most likely problems. HM loads pdh.dll at once and uses it all the time. This method fast because HM can start several tests simultaneously. If everything will work correctly on your system, use this method (by default HostMonitor uses this method).
  • OneByOne mode: Using this method HM will start Performance Counter tests one by one and reload pdh.dll every time. This method slow (when you setup Performance Counter test using Test Properties dialog program even can hang for 1-2 min) but using this method you will avoid some problems due to a buggy pdh.dll
  • Smart mode: With this method HM will try to detect when pdh.dll need to be reloaded.
    To change mode, add line "PerfWorkMode=N" to hostmon.ini file into [Misc] section and restart HostMonitor. N is number of the mode: 0 - MultiThread mode, 1 - OneByOne mode, 2 - Smart mode

  • Script


    Starting from HostMonitor version 3.40 you can create your own tests using different script languages such as Visual Basic Script or Java Script. HostMonitor uses Microsoft ActiveScripting technology to execute scripts that were written by you or somebody else. Theoretically using this type of test you can check anything what is possible to check (if its impossible to retrieve some information using script language, you can create ActiveX object (e.g. using C++) and use this object in the script). So, you are the one who can improve HostMonitor to suit all your needs. BTW you can create your own script language
    In addition to the common test parameters, the Script test has the following options:

    Run script from external file
    Set this option and specify script file name that HostMonitor will load and execute every time test is performed. This option allows you to change script any time without changing HostMonitor's settings. E.g. HostMonitor can be loaded on server machine and execute scripts located on workstations.

    Store script inside HML file
    With this option enabled HostMonitor will store script inside HML file with test settings. You can protect HostMonitor's settings by password and be sure nobody read or modify your scripts.

    Language
    The Language property determines language in which a script is written. HostMonitor can use any script engine that is installed on your system. VBScript and JScript installed by default on Windows 2000/XP. Also you can download and install additional script languages, for more information please refer to Technical requirements paragraph.

    Timeout
    The Timeout property offers a safety shield to prevent a script program from going into an infinite loop and locking up the system. It specifies the maximum number of seconds the script will run before an error will be generated.

    Alow UI
    When this option enabled the script program can display user interface (UI) elements such as a MsgBox.

    Translate macros
    With this option enabled you can use special macro variables in your script.

    Also Test Properties dialog contains Edit and Test buttons. First button opens Script Editor window that allows you to view, modify, and execute script. Test button executes script and displays result or an error message.


    Requirements to the script:
    HostMonitor has just a few requirements:
    1. script must contain "performtest" function. HM always call function with this name
    2. "performtest" function must not have any parameters
    3. "performtest" function must return string value. This string contains two parts separated by colon (:). First obligatory part contains test status, it can take following values:
  • "Host is alive"
  • "No answer"
  • "Unknown"
  • "Unknown host"
  • "Ok"
  • "Bad"
  • "Bad contents"
    Second optional part contains "Reply" value, HostMonitor displays this value in Reply field, writes to log files, uses to displays charts (Log Analyzer), etc.
    Several examples:
    return "Host is alive:1000 ms" | Jscript; Status: Host is alive; Reply: 1000 ms
    return "Unknown host:" | Jscript; Status: Unknown host; Reply: empty
    performtest = "Ok:300 Kb" | VBscript; Status: Ok; Reply: 300 Kb
    performtest = "Bad:90 %" | VBscript; Status: Bad; Reply: 90 %
  • 3a. If you want Log Analyzer will be able correctly process "Reply" values and displays charts, use one of the following formats for "Reply" value:
  • decimal_number (like '123', '0', '6456.45'. as decimal separator use symbol that is specified on your system, usually a dot (.) or a comma (,))
  • decimal_number + space + 'Kb' (like '512 Kb', '64 Kb')
  • decimal_number + space + 'Mb' (like '1024 Mb', '5 Mb')
  • decimal_number + space + 'Gb' (like '12 Gb', '4 Gb')
  • decimal_number + space + '%' (like '50 %', '99 %')
  • decimal_number + space + 'ms' (like '100 ms', '5400 ms')
  • That's it. Everything else is entirely up to you

    When you create new script HostMonitor provides template with constants that describe test statuses and with empty "performtest" function.
    Also you can find several simple examples of scripts in HostMonitor's directory "Examples\".
    DrivesList.vbs - VBScript, checks list of disk drives on local system. Set test's status to "Bad" when list of drives changes. E.g. when user map/unmap network drive.
    DrivesList.js - JScript, analogue of DrivesList.vbs
    DiskSpaces.vbs - VBScript, checks difference between free disk space on drive C: and drive D: Sets status to "Bad" when drive C: has less amount of free space than drive D:
    DiskSpaces.js - JScript, analogue DiskSpaces.vbs
    CheckWord.vbs - VBScript, statrs MS Word, opens document and returns number of characters in the document. If MS Word is not installed or document does not exist, test's status will be "Uknown"
    RegRead.vbs - VBScript, reads registry data. Sets test's status to "Bad" when some application (or a user) changes address to a web page that Internet Explorer use as home page
    RegRead.js - JScript, analogue RegRead.vbs


    Technical requirements:
    As we already said HostMonitor uses Microsoft ActiveScripting technology to execute scripts. Microsoft ActiveScript is basically 2 related COM objects: the scripting engine and the scripting host.
    The scripting host is responsible for the interaction between application and the scripting engine. HostMonitor uses MS Script Control as scripting host. It means MS Script Control must be installed on your system to perform script tests. Normally, this control is installed in Windows 2000, and Windows XP. If you have an old versions of Windows (Windows 98/ME/NT 4.0), you can download the MS Script Control from http://msdn.microsoft.com/downloads/default.asp?URL=/downloads/sample.asp?url=/msdn-files/027/001/733/msdncompositedoc.xml

    The scripting engine is the COM object that actually processes the scripts, e.g. VBScript, JScript, etc. These COM objects are usually provided by a third party (in the case of VBScript it's provided by Microsoft). On Windows 2000/XP VBScript and Jscript installed by default, also you can download and install additional script languages. If you have old version of Windows or if you want to use another script language, follow links can be useful for you:

  • Visual Basic Script (VBScript) and Java Script (Jscript) for Windows 98, ME, NT 4.0, 2000 are available at http://msdn.microsoft.com/scripting
  • Perl is available from www.activestate.com
  • Python is available at the same site www.activestate.com
  • Haskell is available at http://www.haskell.org/haskellscript
    Of course we don't know about all script languages available on the Internet, these are just the most popular that we know about.


    Useful links:
    There are some useful links:
    Scripting FAQ: http://www.mindspring.com/~mark_baker/toc.htm
    Microsoft Visual Basic Script documentation available at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vtoriVBScript.asp
    Microsoft Java Script documentation available at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/js56jsoriJScript.asp

  • External


    HostMonitor has many built-in check types, but it can not support all possible check types. That's why the program contains an External Test. With the External Test, HostMonitor uses an external application to perform a test and, based on the returned errorlevel, will flag the test entry as being up or down.
    In addition to the common test parameters, the External test has the following options:

    External program
    Specify command line to launch external application

    Condition
    Choose condition to mark test as failed (and start alert action):
      is < than   - alert if the errorlevel returned by the program is less than a specified code.
      is > than   - alert if the errorlevel returned by the program is greater than a specified code.
      is = to   - alert if the errorlevel returned by the program is equal to a specified code.
      is <> from   - alert if the errorlevel returned by the program is different than a specified code.

    Window mode
    This parameter specifies how the application window is going to be shown. Choose one of the possible options:
      SW_SHOWNORMAL   - displays an application window in its original size and position.
      SW_HIDE   - starts application without displaying its window.
      SW_MAXIMIZE   - displays an application window as a maximized window.
      SW_MINIMIZE   - displays an application window as a minimized window.
      SW_SHOWMINNOACTIVE   - displays an application window as a minimized window. The active window remains active.
      SW_SHOWNOACTIVATE   - displays an application window in its original size and position. The active window remains active.

    Kill application if not answer after N sec
    You may select the "Kill application after N sec" option and specify a timeout. In this case if the external application hasn't returned an error level to HostMonitor within the given timeout, HostMonitor will flag the test entry as down and "kill" the external application.

    Macros


    When you setup "Folder/File Size", "File/Folder Availability", "Count Files", "Text Log" or "Compare Files" tests you can set "Translate macros" option and use special macro variables in the file name:
    %d% -Current day as a number without a leading zero (1-31).
    %dd% -Current day as a number with a leading zero (01-31).
    %ddd% -Current day as an abbreviation (Sun-Sat) using system's regional settings.
    %dddd% -Current day as a full name (Sunday-Saturday) using system's regional settings.
    %ddddd%-Current date using the short date format (see Windows Regional Options).
    %dddddd%-Current date using the long date format.
    %m% -Current month as a number without a leading zero (1-12).
    %mm% -Current month as a number with a leading zero (01-12).
    %mmm% -Current month as an abbreviation (Jan-Dec) using system's regional settings.
    %mmmm% -Current month as a full name (January-December) using system's regional settings.
    %yy% -Current year as a two-digit number (00-99).
    %yyyy% -Current year as a four-digit number (0000-9999).
    %h% -Current hour without a leading zero (0-23).
    %hh% -Current hour with a leading zero (00-23).
    %n% -Current minute without a leading zero (0-59).
    %nn% -Current minute with a leading zero (00-59).
    %t% -Current time using the short time format.
    %tt% -Current time using the long time format.
    %am/pm%-Uses the 12-hour clock for the preceding h or hh specifier, and displays 'am' for any hour before noon, and 'pm' for any hour after noon. The am/pm specifier can use lower, upper, or mixed case, and the result is displayed accordingly.
    %a/p% -Uses the 12-hour clock for the preceding h or hh specifier, and displays 'a' for any hour before noon, and 'p' for any hour after noon. The a/p specifier can use lower, upper, or mixed case, and the result is displayed accordingly.
    %/% -Displays the date separator character given by the DateSeparator global variable.
    %:% -Displays the time separator character given by the TimeSeparator global variable.
    Macro specifiers may be written in upper case as well as in lower case letters - both produce the same result.
    Examples:
      c:\database\archives\%DDMMYYYY%.zip
      c:\database\archives\%dd%-%mm%-%yy%.zip